package com.young.common.core.dal.service;

import java.util.List;

import com.young.common.core.dal.EDBType;
import com.young.common.util.Page;

/**
 * 数据库操作接口
 * @author wjy
 *
 */
public interface IDataAccessService {
	/**
	 * 获取数据库类型
	 * @return
	 */
	EDBType getDBType();
	/**
	 * 插入
	 * @param method
	 * @param parameter
	 * @return
	 * @throws Exception
	 */
	int insert(String method, Object parameter);
	/**
	 * 删除
	 * @param method
	 * @param parameter
	 * @return
	 * @throws Exception
	 */
	int delete(String method, Object parameter);
	/**
	 * 查询
	 * @param method
	 * @param parameter
	 * @return
	 * @throws Exception
	 */
	<T> List<T> getList(String method, Object parameter);
	/**
	 * 分页查询
	 * @param method
	 * @param parameter
	 * @param page
	 * @return
	 * @throws Exception
	 */
	<T> List<T> getList(String method, Object parameter, Page page);
	/**
	 * 修改
	 * @param method
	 * @param parameter
	 * @return
	 * @throws Exception
	 */
	int update(String method, Object parameter);
	/**
	 * 查询一条数据
	 * @param method
	 * @param parameter
	 * @return
	 * @throws Exception
	 */
	<T> T getObject(String method, Object parameter);
}
